home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50b Issue 142 (CD142b) (August 1998).iso / handson / Java / sc20form.jar / com / supercede / forms / SuperCedeAppletStub.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-01-28  |  3.1 KB  |  127 lines

  1. package com.supercede.forms;
  2.  
  3. import java.applet.Applet;
  4. import java.applet.AppletContext;
  5. import java.applet.AppletStub;
  6. import java.applet.AudioClip;
  7. import java.awt.Image;
  8. import java.awt.image.ImageProducer;
  9. import java.net.URL;
  10. import java.util.Enumeration;
  11. import java.util.Hashtable;
  12. import java.util.Vector;
  13.  
  14. public class SuperCedeAppletStub implements AppletStub, AppletContext {
  15.    URL objectUrl;
  16.    URL codeBase;
  17.    URL docBase;
  18.    Applet target;
  19.    Hashtable imageCache = new Hashtable();
  20.  
  21.    public SuperCedeAppletStub(Applet var1) {
  22.       this.target = var1;
  23.       Class var2 = this.target.getClass();
  24.       String var3 = var2.getName();
  25.       String var4 = var3.replace('.', '/').concat(".class");
  26.       ClassLoader var5 = var2.getClassLoader();
  27.       if (var5 == null) {
  28.          this.objectUrl = ClassLoader.getSystemResource(var4);
  29.       } else {
  30.          this.objectUrl = var5.getResource(var4);
  31.       }
  32.  
  33.       if (this.objectUrl != null) {
  34.          String var6 = this.objectUrl.toExternalForm();
  35.          if (var6.endsWith(var4)) {
  36.             try {
  37.                int var7 = var6.length() - var4.length();
  38.                this.codeBase = new URL(var6.substring(0, var7));
  39.                this.docBase = this.codeBase;
  40.                var7 = var6.lastIndexOf(47);
  41.                if (var7 >= 0) {
  42.                   this.docBase = new URL(var6.substring(0, var7 + 1));
  43.                   return;
  44.                }
  45.             } catch (Exception var8) {
  46.                this.docBase = this.codeBase = null;
  47.                return;
  48.             }
  49.          }
  50.       }
  51.  
  52.    }
  53.  
  54.    public void appletResize(int var1, int var2) {
  55.    }
  56.  
  57.    public AppletContext getAppletContext() {
  58.       return this;
  59.    }
  60.  
  61.    public URL getCodeBase() {
  62.       return this.codeBase;
  63.    }
  64.  
  65.    public URL getDocumentBase() {
  66.       return this.docBase;
  67.    }
  68.  
  69.    public String getParameter(String var1) {
  70.       return null;
  71.    }
  72.  
  73.    public boolean isActive() {
  74.       return true;
  75.    }
  76.  
  77.    public Applet getApplet(String var1) {
  78.       return null;
  79.    }
  80.  
  81.    public Enumeration getApplets() {
  82.       Vector var1 = new Vector();
  83.       var1.addElement(this.target);
  84.       return var1.elements();
  85.    }
  86.  
  87.    public AudioClip getAudioClip(URL var1) {
  88.       try {
  89.          return (AudioClip)var1.getContent();
  90.       } catch (Exception var2) {
  91.          return null;
  92.       }
  93.    }
  94.  
  95.    public synchronized Image getImage(URL var1) {
  96.       Object var2 = this.imageCache.get(var1);
  97.       if (var2 != null) {
  98.          return (Image)var2;
  99.       } else {
  100.          try {
  101.             var2 = var1.getContent();
  102.             if (var2 == null) {
  103.                return null;
  104.             } else if (var2 instanceof Image) {
  105.                this.imageCache.put(var1, var2);
  106.                return (Image)var2;
  107.             } else {
  108.                Image var3 = this.target.createImage((ImageProducer)var2);
  109.                this.imageCache.put(var1, var3);
  110.                return var3;
  111.             }
  112.          } catch (Exception var4) {
  113.             return null;
  114.          }
  115.       }
  116.    }
  117.  
  118.    public void showDocument(URL var1) {
  119.    }
  120.  
  121.    public void showDocument(URL var1, String var2) {
  122.    }
  123.  
  124.    public void showStatus(String var1) {
  125.    }
  126. }
  127.